package cn.edu.hbvtc.qms.persist;

import java.util.List;

import cn.edu.hbvtc.qms.domain.ClazzArrangement;
import cn.edu.hbvtc.qms.domain.EvalPeriod;
import cn.edu.hbvtc.qms.domain.Evaluation;
import cn.edu.hbvtc.qms.domain.Term;
import cn.edu.hbvtc.qms.domain.User;

public interface IEvaluationDao extends IDao<Evaluation, Integer> {

	// 查找被评价者的评价结果
	List<Evaluation> findEvaluationByEvaluated(User evaluated);

	// 查找指定学期下的被评价者的评价结果
	List<Evaluation> findEvaluationByEvaluated(User evaluated, Term term);
	
	// 通过班级课程安排对象（包括班级、课程、教师和学期，以及评价时间段）查找相关课程评价结果记录
	List<Evaluation> findEvaluationByClazzArrangementAndEvalPeriod(ClazzArrangement ca, EvalPeriod ep);
	
	// 查找某学生在指定评价时间段内对某班级某教师某课程的评价记录
	Evaluation findEvaluationByEvaluator(User evaluator, ClazzArrangement ca, EvalPeriod ep);
}
